﻿using System;
using System.Collections.Generic;

namespace SharpSqlAnalyzer.nodes.mdx
{
	// Token: 0x020003D5 RID: 981
	public class TMdxCaseNode : TMdxExpNode
	{
		// Token: 0x170008C8 RID: 2248
		// (get) Token: 0x0600274A RID: 10058 RVA: 0x0033B4F3 File Offset: 0x003396F3
		public override EMdxDataType MdxDataType
		{
			get
			{
				return EMdxDataType.Unknown;
			}
		}

		// Token: 0x170008C9 RID: 2249
		// (get) Token: 0x0600274B RID: 10059 RVA: 0x0033B4F6 File Offset: 0x003396F6
		public virtual TMdxExpNode Condition
		{
			get
			{
				return this.condition;
			}
		}

		// Token: 0x170008CA RID: 2250
		// (get) Token: 0x0600274C RID: 10060 RVA: 0x0033B4FE File Offset: 0x003396FE
		public virtual TMdxExpNode ElseExpr
		{
			get
			{
				return this.elseExpr;
			}
		}

		// Token: 0x170008CB RID: 2251
		// (get) Token: 0x0600274D RID: 10061 RVA: 0x0033B506 File Offset: 0x00339706
		public virtual List<TMdxExpNode> WhenList
		{
			get
			{
				return this.whenList;
			}
		}

		// Token: 0x0600274E RID: 10062 RVA: 0x0033B50E File Offset: 0x0033970E
		public override void init(object arg1, object arg2, object arg3)
		{
			this.condition = (TMdxExpNode)arg1;
			this.whenList = (List<TMdxExpNode>)arg2;
			this.elseExpr = (TMdxExpNode)arg3;
		}

		// Token: 0x0600274F RID: 10063 RVA: 0x0033B534 File Offset: 0x00339734
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06002750 RID: 10064 RVA: 0x0033B544 File Offset: 0x00339744
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			if (this.condition != null)
			{
				this.condition.acceptChildren(v);
			}
			if (this.whenList != null)
			{
				foreach (TMdxExpNode tmdxExpNode in this.whenList)
				{
					tmdxExpNode.acceptChildren(v);
				}
			}
			if (this.elseExpr != null)
			{
				this.elseExpr.acceptChildren(v);
			}
			v.postVisit(this);
		}

		// Token: 0x04001DBC RID: 7612
		private TMdxExpNode condition;

		// Token: 0x04001DBD RID: 7613
		private List<TMdxExpNode> whenList;

		// Token: 0x04001DBE RID: 7614
		private TMdxExpNode elseExpr;
	}
}
